package com.ywy.core.annotation;

import com.ywy.core.enums.VerifyRegexEnum;
import org.springframework.web.bind.annotation.Mapping;

import java.lang.annotation.*;

/**
 * 参数校验注解
 * 使用时要@GlobalInterceptor注解参数checkParams为true才起作用
 */
@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Valid {
    /**
     * 参数是否可为空
     * @return
     */
    boolean required() default false;

    /**
     * 参数最小长度
     * @return
     */
    int min() default -1;

    /**
     * 参数最大长度
     * @return
     */
    int max() default -1;

    /**
     * 正则验证规则
     * @return
     */
    VerifyRegexEnum regex() default VerifyRegexEnum.NO;
}
